package lemar.entidad;
// Generated 09-09-2013 10:52:54 PM by Hibernate Tools 3.2.1.GA


import java.util.Date;
import java.util.HashSet;
import java.util.Set;
import javax.persistence.CascadeType;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.FetchType;
import javax.persistence.Id;
import javax.persistence.JoinColumn;
import javax.persistence.ManyToOne;
import javax.persistence.OneToMany;
import javax.persistence.Table;
import javax.persistence.Temporal;
import javax.persistence.TemporalType;

/**
 * Articulo generated by hbm2java
 */
@Entity
@Table(name="articulo"
    ,catalog="lemar"
)
public class Articulo  implements java.io.Serializable {


     private String idArticulo;
     private Producto producto;
     private String nombre;
     private String areaProducto;
     private String marca;
     private String ubicacionBodega;
     private boolean garantia;
     private Date fechaVenc;
     private Set<Producto> productos = new HashSet<Producto>(0);

    public Articulo() {
    }

	
    public Articulo(String idArticulo, Producto producto, String nombre, String areaProducto, String marca, String ubicacionBodega, boolean garantia, Date fechaVenc) {
        this.idArticulo = idArticulo;
        this.producto = producto;
        this.nombre = nombre;
        this.areaProducto = areaProducto;
        this.marca = marca;
        this.ubicacionBodega = ubicacionBodega;
        this.garantia = garantia;
        this.fechaVenc = fechaVenc;
    }
    public Articulo(String idArticulo, Producto producto, String nombre, String areaProducto, String marca, String ubicacionBodega, boolean garantia, Date fechaVenc, Set<Producto> productos) {
       this.idArticulo = idArticulo;
       this.producto = producto;
       this.nombre = nombre;
       this.areaProducto = areaProducto;
       this.marca = marca;
       this.ubicacionBodega = ubicacionBodega;
       this.garantia = garantia;
       this.fechaVenc = fechaVenc;
       this.productos = productos;
    }
   
     @Id 
    
    @Column(name="ID_ARTICULO", unique=true, nullable=false, length=25)
    public String getIdArticulo() {
        return this.idArticulo;
    }
    
    public void setIdArticulo(String idArticulo) {
        this.idArticulo = idArticulo;
    }
@ManyToOne(fetch=FetchType.LAZY)
    @JoinColumn(name="ID_PRODUCTO", nullable=false)
    public Producto getProducto() {
        return this.producto;
    }
    
    public void setProducto(Producto producto) {
        this.producto = producto;
    }
    
    @Column(name="NOMBRE", nullable=false, length=25)
    public String getNombre() {
        return this.nombre;
    }
    
    public void setNombre(String nombre) {
        this.nombre = nombre;
    }
    
    @Column(name="AREA_PRODUCTO", nullable=false, length=25)
    public String getAreaProducto() {
        return this.areaProducto;
    }
    
    public void setAreaProducto(String areaProducto) {
        this.areaProducto = areaProducto;
    }
    
    @Column(name="MARCA", nullable=false, length=15)
    public String getMarca() {
        return this.marca;
    }
    
    public void setMarca(String marca) {
        this.marca = marca;
    }
    
    @Column(name="UBICACION_BODEGA", nullable=false, length=50)
    public String getUbicacionBodega() {
        return this.ubicacionBodega;
    }
    
    public void setUbicacionBodega(String ubicacionBodega) {
        this.ubicacionBodega = ubicacionBodega;
    }
    
    @Column(name="GARANTIA", nullable=false)
    public boolean isGarantia() {
        return this.garantia;
    }
    
    public void setGarantia(boolean garantia) {
        this.garantia = garantia;
    }
    @Temporal(TemporalType.DATE)
    @Column(name="FECHA_VENC", nullable=false, length=10)
    public Date getFechaVenc() {
        return this.fechaVenc;
    }
    
    public void setFechaVenc(Date fechaVenc) {
        this.fechaVenc = fechaVenc;
    }
@OneToMany(cascade=CascadeType.ALL, fetch=FetchType.LAZY, mappedBy="articulo")
    public Set<Producto> getProductos() {
        return this.productos;
    }
    
    public void setProductos(Set<Producto> productos) {
        this.productos = productos;
    }




}


